require File.dirname(__FILE__) + "/../response/CompoundResult"
require File.dirname(__FILE__) + "/../source/Budget"
require File.dirname(__FILE__) + "/../source/Outgoing"

# 検索ロジック
class CompoundSearchAction
  # コンストラクタ
  def initialize(query)
    @query = query
  end

  # コンストラクタで指定されたクエリに従って、データベースを検索し、結果オブジェクトを生成して返す
  # TODO 例外処理：JSONにデータを積む必要があるはず。どこかで共通化したいものだが？
  def execute()
    # session情報を取得する（サーバに問い合わせる）
    userId = "" # query.sessionIdから取得

    # サーバからデータを取得
    budgets = Budget.getList(userId, @query.getYear(), @query.getMonth())
    outgoings = Outgoing.getList(userId, @query.getYear(), @query.getMonth())
    
    # 結果を構築
    return CompoundResult.new(budgets, outgoings)
  end
end


